Tôi đang cố gắng tìm tên của một danh sách trong danh sách các danh sách [có tên cụ thể cho "danh sách danh sách" không?].
Ví dụ: tôi có các danh sách sau:
x= ["a","b"]
y= ["c","d"]
z= [x,y]
Nếu bây giờ tôi muốn biết tên của danh sách đầu tiên trong danh sách "z", tôi sẽ thử như thế nào:
print[z[0]]
Nhưng thay vì "x", tôi nhận được giá trị của x ["a", "b"]
- Làm thế nào tôi có thể nhận được đầu ra "X"?
Glibdud
7.4194 Huy hiệu vàng25 Huy hiệu bạc35 Huy hiệu Đồng4 gold badges25 silver badges35 bronze badges
Hỏi ngày 20 tháng 12 năm 2018 lúc 15:34Dec 20, 2018 at 15:34
5
Bạn muốn sử dụng một từ điển thay vì một danh sách. Trong đó một danh sách chỉ là một bảng liệt kê của các giá trị, một từ điển là một cấu trúc dữ liệu giá trị khóa.
Đây là cách mà ví dụ của bạn sẽ trông như một từ điển theo nghĩa đen:
{
"x": ["a", "b"],
"y": ["c", "d"],
}
Không giống như một danh sách, một từ điển không bảo tồn thứ tự của các yếu tố tuy nhiên! Nếu bạn có một ứng dụng mà bạn cần bảo tồn đơn đặt hàng, bạn có thể sử dụng đơn đặt hàng. Cập nhật: Đoạn này không còn đúng như Python 3.7.UPDATE: This paragraph is no longer true as of Python 3.7.
Đã trả lời ngày 20 tháng 12 năm 2018 lúc 15:44Dec 20, 2018 at 15:44
2
Có tên biến là đầu ra của bạn là không thể, trừ khi bạn thay đổi một số chiến lược trong mã của mình, ví dụ:
x = ["a", "b"]
y = ["c", "d"]
z = {'x': x, 'y': y}
Sử dụng từ điển có thể phù hợp hơn với vấn đề của bạn. Sau đó, bạn có thể tìm kiếm giá trị ["A", "B"] và tiếp cận tên 'X'.might be better suited to your problem. You can then search for value ["a", "b"] and reach the name 'x'.
Đã trả lời ngày 20 tháng 12 năm 2018 lúc 15:42Dec 20, 2018 at 15:42
DudedudeDude
2292 Huy hiệu bạc7 Huy hiệu đồng2 silver badges7 bronze badges
Có lẽ chỉ cần đặt tên danh sách ở đầu mỗi danh sách và thay vào đó sử dụng z [0] [0] để lấy tên?
Đã trả lời ngày 20 tháng 12 năm 2018 lúc 15:40Dec 20, 2018 at 15:40
1
Danh sách là một kiểu dữ liệu có thể thay đổi trong Python. vì vậy
x = ["a", "b"]
Python sẽ phân bổ một số bộ nhớ và lưu trữ địa chỉ trong x. Vì vậy, x là nội bộ như:
Khi bạn thực hiện Z, Python phân bổ một số bộ nhớ và lưu trữ địa chỉ trong Z sau đó, nó sẽ lưu trữ các địa chỉ của X và Y trong bộ nhớ của z. Vì vậy, Z là nội bộ:
[, ]
Bây giờ bạn có thể thấy rằng không có thông tin nào về tên của biến cũng lưu trữ giải quảng cáo 0x123456789
Tóm tắt: Bạn không thể có được tên biến của một đối tượng danh sách. you can't get the variable name of a list object.
Đã trả lời ngày 20 tháng 12 năm 2018 lúc 16:02Dec 20, 2018 at 16:02
bb1950328bb1950328bb1950328
1.24812 Huy hiệu bạc16 Huy hiệu đồng12 silver badges16 bronze badges
Python3
#!/usr/bin/env python
#getGlobalNames.py
# Example Globals
someVar='foo';empty=[];someLst=['thing1','thing2']
def jam[treble=True,bass=11]:someJam=[treble,base]
# Names you are looking for...
obs=[empty,someLst,jam]
# doStuff
globs=list[globals[].items[]]# globals to static
oX=[]
for o in obs:
for glob in globs:
if glob[1]==o:oX.append[glob]
for o in oX:print['Name:',o[0],'\nStuff:\n',o[1]]
Out:
RESTART: ./getGlobalNames.py
Name: empty
Stuff:
[]
Name: someLst
Stuff:
['thing1', 'thing2']
Name: jam
Stuff:
>>>
Đã trả lời ngày 6 tháng 6 lúc 1:19Jun 6 at 1:19
Chào mọi người,
Trong tập lệnh của tôi, tôi cần lấy tên của danh sách tôi đang sử dụng
ví dụ. Sat Tôi có danh sách sau đây ... MCA = ["KK", "JJ"]
mca = ["kk","jj"]
Bây giờ tôi muốn lấy tên của danh sách, tức là 'MCA'. Có ai biết bất kỳ phương thức/thuộc tính nào để tôi có thể lấy tên của danh sách không
Do anyone know any method/attribute so that I can get name of list
Lưu ý: 'classObj' có trong phương thức xây dựng '__name__' cho biết tên của lớp nhưng tôi không thể tìm thấy bất cứ điều gì tương tự cho danh sách
Cảm ơn trước...
RGD, AB
Ab
14 tháng 11 '08 #1
bvdet
2.851 Chuyên giaMod2GB
Bạn có thể lặp lại thông qua từ điển toàn cầu cho một danh sách giá trị tương đương để có được tên của biến.
Mở rộng | Chọn | Wrap | Số dòng|Select|Wrap|Line Numbers
- >>> mca = ["kk","jj"]
- >>> & nbsp; for & nbsp; khóa, giá trị & nbsp; in & nbsp; globals []. iteritems []:
- ... & nbsp; & nbsp; & nbsp; & nbsp;
- ... & nbsp; & nbsp; & nbsp; & nbsp;
- ... & nbsp; & nbsp; & nbsp; & nbsp;
- MCA
- >>> & nbsp;
14 tháng 11 '08 #2
cảm ơn bvdet ..U r python guru :]
..u r Python guru :]
Có GR8 Cuối tuần!
14 tháng 11 '08 #3
Đăng nhập để đăng câu trả lời của bạn hoặc đăng ký tài khoản miễn phí.