01/10/2018, 13:34

Eval trong Python List

chào mọi người, mình đang tìm hiểu về python, mình có làm bài tập trên hackerrank.com và có gặp một bài tập ở bài list:
link bài tập https://www.hackerrank.com/challenges/python-lists/problem
và bài giải hay nhất

n = input()
l = []
for _ in range(n):
    s = raw_input().split()
    cmd = s[0]
    args = s[1:]
    if cmd !="print":
        cmd += "("+ ",".join(args) +")"
        eval("l."+cmd)
    else:
        print l

có ai giải thích giùm mình:

  • hàm eval ở đây là hàm gì,hoạt động thế nào
  • cmd += “(”+ “,”.join(args) +")" câu lệnh này sẽ chạy thế nào.
    mình cảm ơn ^^
Nguyễn Duy Hùng viết 15:49 ngày 01/10/2018

câu lệnh cmd += “(”+ “,”.join(args) +")" thì khi đó biến cmd sẽ thành insert(args[0],args[1]) hoặc remove(args[0]) ví dụ insert(0,5) hay remove(6)
còn lệnh eval() dùng để thực thi lệnh l.insert(0,5) ở trên với l là cái list đã tạo ở trên

vnPACE viết 15:36 ngày 01/10/2018
stackoverflow.com
Dhrub kumar

How does Python's .join work?

python
asked by Dhrub kumar on 07:12AM - 17 Jun 16
Kiên Keyz viết 15:50 ngày 01/10/2018

cảm ơn các bạn đã giải đáp

Bài liên quan
0