如果我有一个数组$keys => $values,我怎么能得到两个$keys和$values?
我正在拉一组图片网址和各自的标题.我已经尝试创建一个哈希或关联数组,但数据似乎覆盖,所以我最终只得到数组中的最后一项.
例如;
thumbnail_list = []
for file in media:
thumbnail_list['url'] = file.url
thumbnail_list['title'] = file.title
Run Code Online (Sandbox Code Playgroud)
我甚至试过创建两个列表并将它们放在一个更大的列表中.
thumbnail_list.append('foo')
thumbnail_urls.append('bar')
all_thumbs = [thumbnail_list], [thumbnail_urls]
Run Code Online (Sandbox Code Playgroud)
我正在尝试从这些数据中创建一个链接:
<a href="image-url">image title</a>
Run Code Online (Sandbox Code Playgroud)
我一直在接近,但最终我在django模板中一次循环过多数据或所有数据.
想法?
编辑:也许zip()是我需要的?
questions = ['name', 'quest', 'favorite color']
answers = ['lancelot', 'the holy grail', 'blue']
for q, a in zip(questions, answers):
print 'What is your {0}? It is {1}.'.format(q, a)
Run Code Online (Sandbox Code Playgroud) 我有一个需要使用关联数组的脚本.作为ksh的新手,我无法找到ksh支持关联数组的任何地方.当我尝试使用常规数组语法和赋值时,我得到一个错误,索引不能那么大.ksh是否支持关联数组?如果没有,替代解决方案是什么?
需要执行以下操作:$ {array [$ name]} = value,稍后在代码中,我需要读取$ {array [$ name]}的值.每次脚本运行时,我都要存储大约2000个值并从数组中读取.
不幸的是,我不能使用perl,因为遗留模块的范围要包含在脚本中.感谢任何帮助,提示或技巧.
我正在尝试将Linux中的英语词典读为一个关联数组,使用单词作为键并将预定义的字符串用作值。这样,我可以按关键字查找单词以查看它们是否存在。我还需要所有单词都小写。这很简单,但是bash语法妨碍了我。当我运行下面的代码时,出现“错误数组下标”错误。有什么想法为什么呢?
function createArrayFromEnglishDictionary(){
IFS=$'\n'
while read -d $'\n' line; do
#Read string into variable and put into lowercase.
index=`echo ${line,,}`
englishDictionaryArray[$index]="exists"
done < /usr/share/dict/words
IFS=$' \t\n'
}
Run Code Online (Sandbox Code Playgroud) 我希望有人可以帮我解决这个问题.
假设我有3个DB表:
Users:
user_id, user_name
100, John
101, Jessica
Cars:
car_id, car_name
30, Corvette
31, BMW
UsersCars:
user_id, car_id, car_colour
100, 30, Red
101, 30, Green
101, 31, Green
(so John got a red corvette and Jessica has a green Corvette and a BMW)
Run Code Online (Sandbox Code Playgroud)
我想有代码返回一个多维PHP数组,如:
Array
(
[100] => Array
(
[user_id] => 100
[user_name] => John
[cars] => Array
(
[car_id]=>30,
[car_name]=>'Corvette',
[car_colour]=>'Red'
)
)
[101] => Array
(
[user_id] => 101
[user_name] => Jessica
[cars] => Array
( …Run Code Online (Sandbox Code Playgroud) php mysql performance associative-array multidimensional-array
我是一个相当舒服的PHP程序员,并且几乎没有Python经验.我正在尝试用他的项目来帮助一个伙伴,代码很容易用Php编写,我已将其中大部分移植过来,但如果可能的话需要一些帮助来完成翻译.目标是:
以下是我尝试在Python中编写代码的工作示例
<?php
srand(3234);
class Object{ // Basic item description
public $x =null;
public $y =null;
public $name =null;
public $uid =null;
}
class Trace{ // Used to update status or move position
# public $x =null;
# public $y =null;
# public $floor =null;
public $display =null; // Currently all we care about is controlling display
}
##########################################################
$objects = array();
$dirtyItems = array();
#CREATION OF ITEMS########################################
for($i = 0; $i < 10; $i++){
$objects[] = …Run Code Online (Sandbox Code Playgroud) 所以我有这个图像数组拉,数组的键只有0,1,2,3,4,5 ....等等......
如何将该表的"id"列中的值作为键,并将"link"作为值.
关联数组,没有?
这是我的PHP:
$myImageID = $me['imageid'];
$findImages = "SELECT link FROM images WHERE model_id ='{$me['id']}'";
$imageResult = mysql_query($findImages) or die (mysql_error());
$myImages = array();
while($row = mysql_fetch_array($imageResult)) {
$myImages[] = $row[0];
}
Run Code Online (Sandbox Code Playgroud)
这是我有的:
{
[0] -> "http://website.com/link.jpg"
[1] -> "http://website.com/li123nk.jpg"
[2] -> "http://website.com/link3123.jpg"
}
Run Code Online (Sandbox Code Playgroud)
这就是我想要的:
{
[47] -> "http://website.com/link.jpg"
[122] -> "http://website.com/li123nk.jpg"
[4339] -> "http://website.com/link3123.jpg"
}
Run Code Online (Sandbox Code Playgroud) 在这个非常简单的示例中,我需要解决数组元素的键和值:
declare -A writer
writer[H.P.]=Lovecraft
writer[Stephen]=King
writer[Clive]=Barker
writer[Jack]=Ketchum
for i in ${!writer[@]}
do
echo "$i ${writer[$i]}"
done
fullname()
{
pointer=$1[@]
for i in "${!pointer}"
do
echo "? $i"
done
}
fullname writer
Run Code Online (Sandbox Code Playgroud)
该函数必须以与之前的示例循环相同的格式显示输出,并且它应该接收数组名称,键列表或值,所有这些都是我尝试过的,但没有成功.任何建议都非常感谢.
问题
declare -p获取有效Bash关联数组的结果,其中键包含方括号会导致错误的数组下标错误.
测试程序
做:
$ declare -A array
$ key='var[0]'
$ array["$key"]=37
$ echo ${array["$key"]}
37
$ declare -p array > def.sh
$ cat def.sh
declare -A array='(["var[0]"]="37" )'
$ . def.sh
bash: [var[0]]=37: bad array subscript
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,请注意:
var[0]declare -p我能够将此定义保存到文件:def.shdef.sh会发出错误.我的环境
解决方法
如果不是declare -p array > def.sh我这样做:
{
echo 'declare -A array'
for Key in "${!array[@]}"; …Run Code Online (Sandbox Code Playgroud)